package com.ruoyi.erecord.vehicles.service;

import java.util.Collection;
import java.util.List;

import com.ruoyi.api.dto.equipment.EquipmentImageDetailDto;
import com.ruoyi.api.dto.equipment.EquipmentMapStatDto;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.erecord.vehicles.domain.bo.VehiclesBo;
import com.ruoyi.erecord.vehicles.domain.vo.VehiclesImportDetailVo;
import com.ruoyi.erecord.vehicles.domain.vo.VehiclesNameVo;
import com.ruoyi.erecord.vehicles.domain.vo.VehiclesVo;

/**
 * 车辆Service接口
 *
 * @author cc
 * @date 2023-04-17
 */
public interface IVehiclesService {

    /**
     * 查询车辆
     */
    VehiclesVo queryById(Long id);

    /**
     * 查询车辆列表
     */
    TableDataInfo<VehiclesVo> queryPageList(VehiclesBo bo, PageQuery pageQuery);

    /**
     * 查询车辆列表
     */
    List<VehiclesVo> queryList(VehiclesBo bo);

    /**
     * 新增车辆
     */
    Boolean insertByBo(VehiclesBo bo);

    /**
     * 修改车辆
     */
    Boolean updateByBo(VehiclesBo bo);

    /**
     * 校验并批量删除车辆信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
    
    Boolean batchInsertOrUpdate(String batchNO);
    
    Boolean batchUpdate(List<VehiclesImportDetailVo> voList);
    
    List<VehiclesNameVo> getVehiclesNameVoList(String vehiclesNumber);
    
    String getVehiclesNumberById(Long id);
    
    Long getVehiclesIdByNumber(String number);
    
    /**
     * 判断车辆表中是否有应用人员信息
     * @param employeeCode
     * @return true : use / false : not use
     */
    boolean isUseEmployeeId(Long employeeId);
    
	List<EquipmentImageDetailDto> getEquipmentImageDetailDtoList();
	
	List<EquipmentMapStatDto> getEquipmentMapStatDtoList(Integer serviceTypeId , String date);
}
